package org.csmzxy.class2333;

import java.util.Scanner;

public class NarcissisticNumberChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数: ");

// 读取用户输入
        int number = scanner.nextInt();

// 判断是否为水仙花数
        if (isNarcissisticNumber(number)) {
            System.out.println(number + " 是水仙花数。");
        } else {
            System.out.println(number + " 不是水仙花数。");
        }

        scanner.close();
    }

    // 判断一个数是否为水仙花数
    public static boolean isNarcissisticNumber(int number) {
        int originalNumber = number;
        int sum = 0;
        int digits = String.valueOf(number).length(); // 计算数字的位数

// 计算每位数字的 n 次幂之和
        while (number != 0) {
            int digit = number % 10; // 获取最后一位数字
            sum += Math.pow(digit, digits); // 计算 digit 的 digits 次幂并累加
            number /= 10; // 去掉最后一位数字
        }

// 判断是否等于原始数字
        return sum == originalNumber;
    }
}
